package org.alvin.dispatchtcp.handler;

import com.google.common.collect.Maps;
import io.netty.buffer.ByteBuf;
import io.netty.channel.Channel;
import io.netty.channel.ChannelHandlerContext;
import io.netty.channel.ChannelInboundHandlerAdapter;
import io.netty.util.ReferenceCountUtil;
import org.alvin.dispatchtcp.bean.DispatchServer;

import java.util.concurrent.ConcurrentMap;

public class DispatchClientHandler extends ChannelInboundHandlerAdapter {

    private final DispatchServer dispatchServer;

    private final  ConcurrentMap<String, Channel> dispatchServerMap;
    public DispatchClientHandler(DispatchServer dispatchServer, ConcurrentMap<String, Channel> dispatchServerMap) {
        this.dispatchServer = dispatchServer;
        this.dispatchServerMap = dispatchServerMap;
    }

    @Override
    public void channelRead(ChannelHandlerContext ctx, Object msg) throws Exception {

//        try {
//            ByteBuf bb = (ByteBuf)msg;
//            byte[] respByte = new byte[bb.readableBytes()];
//            bb.readBytes(respByte);
//            dispatchServer.getServers().forEach(item ->{
//                if(!item.isDefault()){
//                    return ;
//                }
//                String key =
//            });
//
//        } finally{
//            // 必须释放msg数据
//            ReferenceCountUtil.release(msg);
//
//        }

    }
}
